在日常工作中,时常会碰到各种各样的坑,有时真的觉得很多时候开发的经验都是踩坑踩出来的。在通往大牛的道路上,希望自己能够跨越重重阻碍,越走越远。学会时常总结,不断提升自己。


本文章旨在总结开发过程中碰到的容易忘记或者比较重要的坑,一方面加深自己对于该部分的理解,另一方面希望能够分享给大家,知识在于分享,当然踩过的坑也不例外(滑稽)。

目录

  1. template新版自定义方法
  2. template嵌套
  3. 关于jsonp
  4. backbone section视图

1. template新版自定义方法

1.在早先版本中,添加自定义方法是这样写的

template.helper("$getData", function(data){
    //your code
})

使用时,可以这样用

{{ $getData(result) }}

2.在新版本中,移除了 helper 方法,通过imports定义方法

template.defaults.imports.getData = function(data){
    //your code
}

调用方法

{{ getData(result) }}

2. template嵌套

在内容比较多的模板中,有时会抽出一些可以复用的模板,这个时候会用到模板嵌套

{{include 'template' $value}}

3. 关于jsonp

之前在使用 jquery 的 jsonp 时,将 async 置为同步时,发现并没有生效,后来才想到:

jsonp 和 ajax 本质上其实是不同的,ajax 是通过 XMLHttpRequest 来请求数据的。
但是 jsonp 则是通过动态添加 script 标签获取服务器的 js。

如何解决这个问题?

可以将代码写入 jsonp 请求成功的回调函数中

4. backbone section视图

backbone 通过 router/history 实现的路由,在跳转到新的视图时,如果当前视图没有被创建,则会在页面中创建一个新的 section,所以为了避免多个视图的干扰,想要获取当前视图的元素,一定要加 this 获取,如:

this.$(el).addClass("hide");

水杯中的大海
13 声望1 粉丝

不忘初心,挑战未来